Image processing is important in a wide variety of different applications, and such processing may involve multiple images of different types, including two-dimensional (2D) images and three-dimensional (3D) images. For example, a 3D image of a spatial scene may be generated using triangulation based on multiple 2D images captured by respective cameras arranged such that each camera has a different view of the scene. Alternatively, a 3D image can be generated directly using a depth imager such as a structured light (SL) camera or a time of flight (ToF) camera. Multiple images of these and other types may be processed in machine vision applications such as gesture recognition, face detection and singular or multiple person tracking.
Conventional image processing techniques include various image reconstruction techniques such as interpolation and super resolution. Interpolation is typically used when information is available for only a portion of a given image. Super resolution techniques may be used, for example, to enhance the resolution of a low-resolution image using another image of higher resolution. Exemplary super resolution techniques may be based on Markov random fields or bilateral filters.